package com.etime.shycourse.wx.applets.dto;

import com.etime.shycourse.pojo.Coursecomment;
import com.etime.shycourse.wx.applets.pojo.Chapter;

import com.etime.shycourse.wx.applets.pojo.Orders;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @ClassName : CourseDetailsDto  //类名
 * @Description : 课程详情临时实体 课程章节列表；课时列表；课程评论列表；教师表，用户表（），机构表  //描述
 * @Author : W //作者
 * @Date: 2022/1/11  10:25
 */
public class CourseDetailsDto extends UserTeacherDto implements Serializable {
    private static final long serialVersionUID = 1L;
    /*课程类型开始*/
    private Integer coursetypeid;

    private String coursetypename;

    private String coursetypedesc;

    private Integer coursetypestate;

    private Integer courseptypeid;

    private String coursetypeicon;
    /*课程类型结束*/
    /*课程开始*/
    private Integer courseid;

    private String coursetitle;

    private String coursesubtitle;

    @ApiModelProperty(value = "0--未发布	            1--发布	            2--关闭")
    private Integer coursestate;

    @ApiModelProperty(value = "0--未审核	            1--通过	            2--未通过")
    private Integer courseaudit;

    private String courseauditdesc;

    private String coursedesc;

    private String coursegoals;

    private String courseaudiences;

    private String coursepic;

    private LocalDateTime coursecreatetime;

    private LocalDateTime courseupdatetime;

    private BigDecimal courseprice;

    private BigDecimal courseoriginprice;

    private BigDecimal coursecoinprice;

    private BigDecimal coursecoinmaxpoint;

    @ApiModelProperty(value = "0--不开启	  1--开启")
    private Integer coursecoinused;

    private BigDecimal coursescore;

    private Integer coursepullcount;

    @ApiModelProperty(value = "0--不推荐	  1--推荐")
    private Integer courserecommended;

    @ApiModelProperty(value = "1-n	数字越大，排序越高")
    private Integer coursesort;

    private Integer coursecommentcount;

    @ApiModelProperty(value = "1---按课程购买	 2---按章购买  3---按节购买 4---按课时购买")
    private Integer coursepaytype;

    private Integer courseteacherid;

    private String courseteachername;

    private Float coursesalerpoint;

    private Float coursetecpoint;

    @ApiModelProperty(value = "1--教师  2--机构")
    private Integer coursetecorg;
    @ApiModelProperty(value = "是否购买的判定值 1=整个课程购买 0=没有购买或购买一部分")
    private Integer whetherToBuy;

    @ApiModelProperty(value = "-2 ---独立老师的课程")
    private Integer courseorgid;
    // 机构实体
    //private Organization organization;
    // 课程章节列表 +课时列表
    private List<Chapter> chapters;
    //课程评论列表
    private List<Coursecomment> courseCommentList;
    // 订单+订单明细
    private List<Orders> orderslist;

    public List<Orders> getOrderslist() {
        return orderslist;
    }

    public void setOrderslist(List<Orders> orderslist) {
        this.orderslist = orderslist;
    }

    public Integer getOrderid() {
        return orderid;
    }

    public void setOrderid(Integer orderid) {
        this.orderid = orderid;
    }

    public Integer getOdgoodstype() {
        return odgoodstype;
    }

    public void setOdgoodstype(Integer odgoodstype) {
        this.odgoodstype = odgoodstype;
    }

    @ApiModelProperty(value = "购买了就有 订单号(orderid)")
    private Integer orderid;

    @ApiModelProperty(value = "订单 中的 商品类型")
    private Integer odgoodstype;

    public List<Coursecomment> getCourseCommentList() {
        return courseCommentList;
    }

    public void setCourseCommentList(List<Coursecomment> courseCommentList) {
        this.courseCommentList = courseCommentList;
    }

    public Integer getWhetherToBuy() {
        return whetherToBuy;
    }

    public void setWhetherToBuy(Integer whetherToBuy) {
        this.whetherToBuy = whetherToBuy;
    }

    public String getCoursetypename() {
        return coursetypename;
    }

    public void setCoursetypename(String coursetypename) {
        this.coursetypename = coursetypename;
    }

    public String getCoursetypedesc() {
        return coursetypedesc;
    }

    public void setCoursetypedesc(String coursetypedesc) {
        this.coursetypedesc = coursetypedesc;
    }

    public Integer getCoursetypestate() {
        return coursetypestate;
    }

    public void setCoursetypestate(Integer coursetypestate) {
        this.coursetypestate = coursetypestate;
    }

    public Integer getCourseptypeid() {
        return courseptypeid;
    }

    public void setCourseptypeid(Integer courseptypeid) {
        this.courseptypeid = courseptypeid;
    }

    public String getCoursetypeicon() {
        return coursetypeicon;
    }

    public void setCoursetypeicon(String coursetypeicon) {
        this.coursetypeicon = coursetypeicon;
    }

    //public Organization getOrganization() {
    //    return organization;
    //}

    //public void setOrganization(Organization organization) {
    //    this.organization = organization;
    //}

    public List<Chapter> getChapters() {
        return chapters;
    }

    public void setChapters(List<Chapter> chapters) {
        this.chapters = chapters;
    }


    public Integer getCourseid() {
        return courseid;
    }

    public void setCourseid(Integer courseid) {
        this.courseid = courseid;
    }

    public Integer getCoursetypeid() {
        return coursetypeid;
    }

    public void setCoursetypeid(Integer coursetypeid) {
        this.coursetypeid = coursetypeid;
    }

    public String getCoursetitle() {
        return coursetitle;
    }

    public void setCoursetitle(String coursetitle) {
        this.coursetitle = coursetitle;
    }

    public String getCoursesubtitle() {
        return coursesubtitle;
    }

    public void setCoursesubtitle(String coursesubtitle) {
        this.coursesubtitle = coursesubtitle;
    }

    public Integer getCoursestate() {
        return coursestate;
    }

    public void setCoursestate(Integer coursestate) {
        this.coursestate = coursestate;
    }

    public Integer getCourseaudit() {
        return courseaudit;
    }

    public void setCourseaudit(Integer courseaudit) {
        this.courseaudit = courseaudit;
    }

    public String getCourseauditdesc() {
        return courseauditdesc;
    }

    public void setCourseauditdesc(String courseauditdesc) {
        this.courseauditdesc = courseauditdesc;
    }

    public String getCoursedesc() {
        return coursedesc;
    }

    public void setCoursedesc(String coursedesc) {
        this.coursedesc = coursedesc;
    }

    public String getCoursegoals() {
        return coursegoals;
    }

    public void setCoursegoals(String coursegoals) {
        this.coursegoals = coursegoals;
    }

    public String getCourseaudiences() {
        return courseaudiences;
    }

    public void setCourseaudiences(String courseaudiences) {
        this.courseaudiences = courseaudiences;
    }

    public String getCoursepic() {
        return coursepic;
    }

    public void setCoursepic(String coursepic) {
        this.coursepic = coursepic;
    }

    public LocalDateTime getCoursecreatetime() {
        return coursecreatetime;
    }

    public void setCoursecreatetime(LocalDateTime coursecreatetime) {
        this.coursecreatetime = coursecreatetime;
    }

    public LocalDateTime getCourseupdatetime() {
        return courseupdatetime;
    }

    public void setCourseupdatetime(LocalDateTime courseupdatetime) {
        this.courseupdatetime = courseupdatetime;
    }

    public BigDecimal getCourseprice() {
        return courseprice;
    }

    public void setCourseprice(BigDecimal courseprice) {
        this.courseprice = courseprice;
    }

    public BigDecimal getCourseoriginprice() {
        return courseoriginprice;
    }

    public void setCourseoriginprice(BigDecimal courseoriginprice) {
        this.courseoriginprice = courseoriginprice;
    }

    public BigDecimal getCoursecoinprice() {
        return coursecoinprice;
    }

    public void setCoursecoinprice(BigDecimal coursecoinprice) {
        this.coursecoinprice = coursecoinprice;
    }

    public BigDecimal getCoursecoinmaxpoint() {
        return coursecoinmaxpoint;
    }

    public void setCoursecoinmaxpoint(BigDecimal coursecoinmaxpoint) {
        this.coursecoinmaxpoint = coursecoinmaxpoint;
    }

    public Integer getCoursecoinused() {
        return coursecoinused;
    }

    public void setCoursecoinused(Integer coursecoinused) {
        this.coursecoinused = coursecoinused;
    }

    public BigDecimal getCoursescore() {
        return coursescore;
    }

    public void setCoursescore(BigDecimal coursescore) {
        this.coursescore = coursescore;
    }

    public Integer getCoursepullcount() {
        return coursepullcount;
    }

    public void setCoursepullcount(Integer coursepullcount) {
        this.coursepullcount = coursepullcount;
    }

    public Integer getCourserecommended() {
        return courserecommended;
    }

    public void setCourserecommended(Integer courserecommended) {
        this.courserecommended = courserecommended;
    }

    public Integer getCoursesort() {
        return coursesort;
    }

    public void setCoursesort(Integer coursesort) {
        this.coursesort = coursesort;
    }

    public Integer getCoursecommentcount() {
        return coursecommentcount;
    }

    public void setCoursecommentcount(Integer coursecommentcount) {
        this.coursecommentcount = coursecommentcount;
    }

    public Integer getCoursepaytype() {
        return coursepaytype;
    }

    public void setCoursepaytype(Integer coursepaytype) {
        this.coursepaytype = coursepaytype;
    }

    public Integer getCourseteacherid() {
        return courseteacherid;
    }

    public void setCourseteacherid(Integer courseteacherid) {
        this.courseteacherid = courseteacherid;
    }

    public String getCourseteachername() {
        return courseteachername;
    }

    public void setCourseteachername(String courseteachername) {
        this.courseteachername = courseteachername;
    }

    public Float getCoursesalerpoint() {
        return coursesalerpoint;
    }

    public void setCoursesalerpoint(Float coursesalerpoint) {
        this.coursesalerpoint = coursesalerpoint;
    }

    public Float getCoursetecpoint() {
        return coursetecpoint;
    }

    public void setCoursetecpoint(Float coursetecpoint) {
        this.coursetecpoint = coursetecpoint;
    }

    public Integer getCoursetecorg() {
        return coursetecorg;
    }

    public void setCoursetecorg(Integer coursetecorg) {
        this.coursetecorg = coursetecorg;
    }

    public Integer getCourseorgid() {
        return courseorgid;
    }

    public void setCourseorgid(Integer courseorgid) {
        this.courseorgid = courseorgid;
    }

    @Override
    public String toString() {
        return "CourseDetailsDto{" +
                "coursetypeid=" + coursetypeid +
                ", coursetypename='" + coursetypename + '\'' +
                ", coursetypedesc='" + coursetypedesc + '\'' +
                ", coursetypestate=" + coursetypestate +
                ", courseptypeid=" + courseptypeid +
                ", coursetypeicon='" + coursetypeicon + '\'' +
                ", courseid=" + courseid +
                ", coursetitle='" + coursetitle + '\'' +
                ", coursesubtitle='" + coursesubtitle + '\'' +
                ", coursestate=" + coursestate +
                ", courseaudit=" + courseaudit +
                ", courseauditdesc='" + courseauditdesc + '\'' +
                ", coursedesc='" + coursedesc + '\'' +
                ", coursegoals='" + coursegoals + '\'' +
                ", courseaudiences='" + courseaudiences + '\'' +
                ", coursepic='" + coursepic + '\'' +
                ", coursecreatetime=" + coursecreatetime +
                ", courseupdatetime=" + courseupdatetime +
                ", courseprice=" + courseprice +
                ", courseoriginprice=" + courseoriginprice +
                ", coursecoinprice=" + coursecoinprice +
                ", coursecoinmaxpoint=" + coursecoinmaxpoint +
                ", coursecoinused=" + coursecoinused +
                ", coursescore=" + coursescore +
                ", coursepullcount=" + coursepullcount +
                ", courserecommended=" + courserecommended +
                ", coursesort=" + coursesort +
                ", coursecommentcount=" + coursecommentcount +
                ", coursepaytype=" + coursepaytype +
                ", courseteacherid=" + courseteacherid +
                ", courseteachername='" + courseteachername + '\'' +
                ", coursesalerpoint=" + coursesalerpoint +
                ", coursetecpoint=" + coursetecpoint +
                ", coursetecorg=" + coursetecorg +
                ", whetherToBuy=" + whetherToBuy +
                ", courseorgid=" + courseorgid +
                ", chapters=" + chapters +
                ", courseCommentList=" + courseCommentList +
                ", orderslist=" + orderslist +
                ", orderid=" + orderid +
                ", odgoodstype=" + odgoodstype +
                '}';
    }
}

